home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / xpcom / nsISupportsPrimitives.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  50KB  |  1,788 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsISupportsPrimitives.idl
  3.  */
  4.  
  5. #ifndef __gen_nsISupportsPrimitives_h__
  6. #define __gen_nsISupportsPrimitives_h__
  7.  
  8.  
  9. #ifndef __gen_nsISupports_h__
  10. #include "nsISupports.h"
  11. #endif
  12.  
  13. /* For IDL files that don't want to include root IDL files. */
  14. #ifndef NS_NO_VTABLE
  15. #define NS_NO_VTABLE
  16. #endif
  17.  
  18. /* starting interface:    nsISupportsPrimitive */
  19. #define NS_ISUPPORTSPRIMITIVE_IID_STR "d0d4b136-1dd1-11b2-9371-f0727ef827c0"
  20.  
  21. #define NS_ISUPPORTSPRIMITIVE_IID \
  22.   {0xd0d4b136, 0x1dd1, 0x11b2, \
  23.     { 0x93, 0x71, 0xf0, 0x72, 0x7e, 0xf8, 0x27, 0xc0 }}
  24.  
  25. /**
  26.  * Primitive base interface.
  27.  *
  28.  * These first three are pointer types and do data copying
  29.  * using the nsIMemory. Be careful!
  30.  *
  31.  * @status FROZEN
  32.  */
  33. class NS_NO_VTABLE nsISupportsPrimitive : public nsISupports {
  34.  public: 
  35.  
  36.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRIMITIVE_IID)
  37.  
  38.   enum { TYPE_ID = 1U };
  39.  
  40.   enum { TYPE_CSTRING = 2U };
  41.  
  42.   enum { TYPE_STRING = 3U };
  43.  
  44.   enum { TYPE_PRBOOL = 4U };
  45.  
  46.   enum { TYPE_PRUINT8 = 5U };
  47.  
  48.   enum { TYPE_PRUINT16 = 6U };
  49.  
  50.   enum { TYPE_PRUINT32 = 7U };
  51.  
  52.   enum { TYPE_PRUINT64 = 8U };
  53.  
  54.   enum { TYPE_PRTIME = 9U };
  55.  
  56.   enum { TYPE_CHAR = 10U };
  57.  
  58.   enum { TYPE_PRINT16 = 11U };
  59.  
  60.   enum { TYPE_PRINT32 = 12U };
  61.  
  62.   enum { TYPE_PRINT64 = 13U };
  63.  
  64.   enum { TYPE_FLOAT = 14U };
  65.  
  66.   enum { TYPE_DOUBLE = 15U };
  67.  
  68.   enum { TYPE_VOID = 16U };
  69.  
  70.   enum { TYPE_INTERFACE_POINTER = 17U };
  71.  
  72.   /* readonly attribute unsigned short type; */
  73.   NS_IMETHOD GetType(PRUint16 *aType) = 0;
  74.  
  75. };
  76.  
  77. /* Use this macro when declaring classes that implement this interface. */
  78. #define NS_DECL_NSISUPPORTSPRIMITIVE \
  79.   NS_IMETHOD GetType(PRUint16 *aType); 
  80.  
  81. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  82. #define NS_FORWARD_NSISUPPORTSPRIMITIVE(_to) \
  83.   NS_IMETHOD GetType(PRUint16 *aType) { return _to GetType(aType); } 
  84.  
  85. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  86. #define NS_FORWARD_SAFE_NSISUPPORTSPRIMITIVE(_to) \
  87.   NS_IMETHOD GetType(PRUint16 *aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetType(aType); } 
  88.  
  89. #if 0
  90. /* Use the code below as a template for the implementation class for this interface. */
  91.  
  92. /* Header file */
  93. class nsSupportsPrimitive : public nsISupportsPrimitive
  94. {
  95. public:
  96.   NS_DECL_ISUPPORTS
  97.   NS_DECL_NSISUPPORTSPRIMITIVE
  98.  
  99.   nsSupportsPrimitive();
  100.  
  101. private:
  102.   ~nsSupportsPrimitive();
  103.  
  104. protected:
  105.   /* additional members */
  106. };
  107.  
  108. /* Implementation file */
  109. NS_IMPL_ISUPPORTS1(nsSupportsPrimitive, nsISupportsPrimitive)
  110.  
  111. nsSupportsPrimitive::nsSupportsPrimitive()
  112. {
  113.   /* member initializers and constructor code */
  114. }
  115.  
  116. nsSupportsPrimitive::~nsSupportsPrimitive()
  117. {
  118.   /* destructor code */
  119. }
  120.  
  121. /* readonly attribute unsigned short type; */
  122. NS_IMETHODIMP nsSupportsPrimitive::GetType(PRUint16 *aType)
  123. {
  124.     return NS_ERROR_NOT_IMPLEMENTED;
  125. }
  126.  
  127. /* End of implementation class template. */
  128. #endif
  129.  
  130.  
  131. /* starting interface:    nsISupportsID */
  132. #define NS_ISUPPORTSID_IID_STR "d18290a0-4a1c-11d3-9890-006008962422"
  133.  
  134. #define NS_ISUPPORTSID_IID \
  135.   {0xd18290a0, 0x4a1c, 0x11d3, \
  136.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  137.  
  138. /**
  139.  * Scriptable storage for nsID structures
  140.  *
  141.  * @status FROZEN
  142.  */
  143. class NS_NO_VTABLE nsISupportsID : public nsISupportsPrimitive {
  144.  public: 
  145.  
  146.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSID_IID)
  147.  
  148.   /* attribute nsIDPtr data; */
  149.   NS_IMETHOD GetData(nsID * *aData) = 0;
  150.   NS_IMETHOD SetData(const nsID * aData) = 0;
  151.  
  152.   /* string toString (); */
  153.   NS_IMETHOD ToString(char **_retval) = 0;
  154.  
  155. };
  156.  
  157. /* Use this macro when declaring classes that implement this interface. */
  158. #define NS_DECL_NSISUPPORTSID \
  159.   NS_IMETHOD GetData(nsID * *aData); \
  160.   NS_IMETHOD SetData(const nsID * aData); \
  161.   NS_IMETHOD ToString(char **_retval); 
  162.  
  163. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  164. #define NS_FORWARD_NSISUPPORTSID(_to) \
  165.   NS_IMETHOD GetData(nsID * *aData) { return _to GetData(aData); } \
  166.   NS_IMETHOD SetData(const nsID * aData) { return _to SetData(aData); } \
  167.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  168.  
  169. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  170. #define NS_FORWARD_SAFE_NSISUPPORTSID(_to) \
  171.   NS_IMETHOD GetData(nsID * *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  172.   NS_IMETHOD SetData(const nsID * aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  173.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  174.  
  175. #if 0
  176. /* Use the code below as a template for the implementation class for this interface. */
  177.  
  178. /* Header file */
  179. class nsSupportsID : public nsISupportsID
  180. {
  181. public:
  182.   NS_DECL_ISUPPORTS
  183.   NS_DECL_NSISUPPORTSID
  184.  
  185.   nsSupportsID();
  186.  
  187. private:
  188.   ~nsSupportsID();
  189.  
  190. protected:
  191.   /* additional members */
  192. };
  193.  
  194. /* Implementation file */
  195. NS_IMPL_ISUPPORTS1(nsSupportsID, nsISupportsID)
  196.  
  197. nsSupportsID::nsSupportsID()
  198. {
  199.   /* member initializers and constructor code */
  200. }
  201.  
  202. nsSupportsID::~nsSupportsID()
  203. {
  204.   /* destructor code */
  205. }
  206.  
  207. /* attribute nsIDPtr data; */
  208. NS_IMETHODIMP nsSupportsID::GetData(nsID * *aData)
  209. {
  210.     return NS_ERROR_NOT_IMPLEMENTED;
  211. }
  212. NS_IMETHODIMP nsSupportsID::SetData(const nsID * aData)
  213. {
  214.     return NS_ERROR_NOT_IMPLEMENTED;
  215. }
  216.  
  217. /* string toString (); */
  218. NS_IMETHODIMP nsSupportsID::ToString(char **_retval)
  219. {
  220.     return NS_ERROR_NOT_IMPLEMENTED;
  221. }
  222.  
  223. /* End of implementation class template. */
  224. #endif
  225.  
  226.  
  227. /* starting interface:    nsISupportsCString */
  228. #define NS_ISUPPORTSCSTRING_IID_STR "d65ff270-4a1c-11d3-9890-006008962422"
  229.  
  230. #define NS_ISUPPORTSCSTRING_IID \
  231.   {0xd65ff270, 0x4a1c, 0x11d3, \
  232.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  233.  
  234. /**
  235.  * Scriptable storage for ASCII strings
  236.  * 
  237.  * @status FROZEN
  238.  */
  239. class NS_NO_VTABLE nsISupportsCString : public nsISupportsPrimitive {
  240.  public: 
  241.  
  242.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSCSTRING_IID)
  243.  
  244.   /* attribute ACString data; */
  245.   NS_IMETHOD GetData(nsACString & aData) = 0;
  246.   NS_IMETHOD SetData(const nsACString & aData) = 0;
  247.  
  248.   /* string toString (); */
  249.   NS_IMETHOD ToString(char **_retval) = 0;
  250.  
  251. };
  252.  
  253. /* Use this macro when declaring classes that implement this interface. */
  254. #define NS_DECL_NSISUPPORTSCSTRING \
  255.   NS_IMETHOD GetData(nsACString & aData); \
  256.   NS_IMETHOD SetData(const nsACString & aData); \
  257.   NS_IMETHOD ToString(char **_retval); 
  258.  
  259. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  260. #define NS_FORWARD_NSISUPPORTSCSTRING(_to) \
  261.   NS_IMETHOD GetData(nsACString & aData) { return _to GetData(aData); } \
  262.   NS_IMETHOD SetData(const nsACString & aData) { return _to SetData(aData); } \
  263.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  264.  
  265. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  266. #define NS_FORWARD_SAFE_NSISUPPORTSCSTRING(_to) \
  267.   NS_IMETHOD GetData(nsACString & aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  268.   NS_IMETHOD SetData(const nsACString & aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  269.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  270.  
  271. #if 0
  272. /* Use the code below as a template for the implementation class for this interface. */
  273.  
  274. /* Header file */
  275. class nsSupportsCString : public nsISupportsCString
  276. {
  277. public:
  278.   NS_DECL_ISUPPORTS
  279.   NS_DECL_NSISUPPORTSCSTRING
  280.  
  281.   nsSupportsCString();
  282.  
  283. private:
  284.   ~nsSupportsCString();
  285.  
  286. protected:
  287.   /* additional members */
  288. };
  289.  
  290. /* Implementation file */
  291. NS_IMPL_ISUPPORTS1(nsSupportsCString, nsISupportsCString)
  292.  
  293. nsSupportsCString::nsSupportsCString()
  294. {
  295.   /* member initializers and constructor code */
  296. }
  297.  
  298. nsSupportsCString::~nsSupportsCString()
  299. {
  300.   /* destructor code */
  301. }
  302.  
  303. /* attribute ACString data; */
  304. NS_IMETHODIMP nsSupportsCString::GetData(nsACString & aData)
  305. {
  306.     return NS_ERROR_NOT_IMPLEMENTED;
  307. }
  308. NS_IMETHODIMP nsSupportsCString::SetData(const nsACString & aData)
  309. {
  310.     return NS_ERROR_NOT_IMPLEMENTED;
  311. }
  312.  
  313. /* string toString (); */
  314. NS_IMETHODIMP nsSupportsCString::ToString(char **_retval)
  315. {
  316.     return NS_ERROR_NOT_IMPLEMENTED;
  317. }
  318.  
  319. /* End of implementation class template. */
  320. #endif
  321.  
  322.  
  323. /* starting interface:    nsISupportsString */
  324. #define NS_ISUPPORTSSTRING_IID_STR "d79dc970-4a1c-11d3-9890-006008962422"
  325.  
  326. #define NS_ISUPPORTSSTRING_IID \
  327.   {0xd79dc970, 0x4a1c, 0x11d3, \
  328.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  329.  
  330. /**
  331.  * Scriptable storage for Unicode strings
  332.  * 
  333.  * @status FROZEN
  334.  */
  335. class NS_NO_VTABLE nsISupportsString : public nsISupportsPrimitive {
  336.  public: 
  337.  
  338.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSSTRING_IID)
  339.  
  340.   /* attribute AString data; */
  341.   NS_IMETHOD GetData(nsAString & aData) = 0;
  342.   NS_IMETHOD SetData(const nsAString & aData) = 0;
  343.  
  344.   /* wstring toString (); */
  345.   NS_IMETHOD ToString(PRUnichar **_retval) = 0;
  346.  
  347. };
  348.  
  349. /* Use this macro when declaring classes that implement this interface. */
  350. #define NS_DECL_NSISUPPORTSSTRING \
  351.   NS_IMETHOD GetData(nsAString & aData); \
  352.   NS_IMETHOD SetData(const nsAString & aData); \
  353.   NS_IMETHOD ToString(PRUnichar **_retval); 
  354.  
  355. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  356. #define NS_FORWARD_NSISUPPORTSSTRING(_to) \
  357.   NS_IMETHOD GetData(nsAString & aData) { return _to GetData(aData); } \
  358.   NS_IMETHOD SetData(const nsAString & aData) { return _to SetData(aData); } \
  359.   NS_IMETHOD ToString(PRUnichar **_retval) { return _to ToString(_retval); } 
  360.  
  361. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  362. #define NS_FORWARD_SAFE_NSISUPPORTSSTRING(_to) \
  363.   NS_IMETHOD GetData(nsAString & aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  364.   NS_IMETHOD SetData(const nsAString & aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  365.   NS_IMETHOD ToString(PRUnichar **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  366.  
  367. #if 0
  368. /* Use the code below as a template for the implementation class for this interface. */
  369.  
  370. /* Header file */
  371. class nsSupportsString : public nsISupportsString
  372. {
  373. public:
  374.   NS_DECL_ISUPPORTS
  375.   NS_DECL_NSISUPPORTSSTRING
  376.  
  377.   nsSupportsString();
  378.  
  379. private:
  380.   ~nsSupportsString();
  381.  
  382. protected:
  383.   /* additional members */
  384. };
  385.  
  386. /* Implementation file */
  387. NS_IMPL_ISUPPORTS1(nsSupportsString, nsISupportsString)
  388.  
  389. nsSupportsString::nsSupportsString()
  390. {
  391.   /* member initializers and constructor code */
  392. }
  393.  
  394. nsSupportsString::~nsSupportsString()
  395. {
  396.   /* destructor code */
  397. }
  398.  
  399. /* attribute AString data; */
  400. NS_IMETHODIMP nsSupportsString::GetData(nsAString & aData)
  401. {
  402.     return NS_ERROR_NOT_IMPLEMENTED;
  403. }
  404. NS_IMETHODIMP nsSupportsString::SetData(const nsAString & aData)
  405. {
  406.     return NS_ERROR_NOT_IMPLEMENTED;
  407. }
  408.  
  409. /* wstring toString (); */
  410. NS_IMETHODIMP nsSupportsString::ToString(PRUnichar **_retval)
  411. {
  412.     return NS_ERROR_NOT_IMPLEMENTED;
  413. }
  414.  
  415. /* End of implementation class template. */
  416. #endif
  417.  
  418.  
  419. /* starting interface:    nsISupportsPRBool */
  420. #define NS_ISUPPORTSPRBOOL_IID_STR "ddc3b490-4a1c-11d3-9890-006008962422"
  421.  
  422. #define NS_ISUPPORTSPRBOOL_IID \
  423.   {0xddc3b490, 0x4a1c, 0x11d3, \
  424.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  425.  
  426. /**
  427.  * The rest are truly primitive and are passed by value
  428.  */
  429. /**
  430.  * Scriptable storage for booleans
  431.  * 
  432.  * @status FROZEN
  433.  */
  434. class NS_NO_VTABLE nsISupportsPRBool : public nsISupportsPrimitive {
  435.  public: 
  436.  
  437.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRBOOL_IID)
  438.  
  439.   /* attribute PRBool data; */
  440.   NS_IMETHOD GetData(PRBool *aData) = 0;
  441.   NS_IMETHOD SetData(PRBool aData) = 0;
  442.  
  443.   /* string toString (); */
  444.   NS_IMETHOD ToString(char **_retval) = 0;
  445.  
  446. };
  447.  
  448. /* Use this macro when declaring classes that implement this interface. */
  449. #define NS_DECL_NSISUPPORTSPRBOOL \
  450.   NS_IMETHOD GetData(PRBool *aData); \
  451.   NS_IMETHOD SetData(PRBool aData); \
  452.   NS_IMETHOD ToString(char **_retval); 
  453.  
  454. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  455. #define NS_FORWARD_NSISUPPORTSPRBOOL(_to) \
  456.   NS_IMETHOD GetData(PRBool *aData) { return _to GetData(aData); } \
  457.   NS_IMETHOD SetData(PRBool aData) { return _to SetData(aData); } \
  458.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  459.  
  460. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  461. #define NS_FORWARD_SAFE_NSISUPPORTSPRBOOL(_to) \
  462.   NS_IMETHOD GetData(PRBool *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  463.   NS_IMETHOD SetData(PRBool aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  464.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  465.  
  466. #if 0
  467. /* Use the code below as a template for the implementation class for this interface. */
  468.  
  469. /* Header file */
  470. class nsSupportsPRBool : public nsISupportsPRBool
  471. {
  472. public:
  473.   NS_DECL_ISUPPORTS
  474.   NS_DECL_NSISUPPORTSPRBOOL
  475.  
  476.   nsSupportsPRBool();
  477.  
  478. private:
  479.   ~nsSupportsPRBool();
  480.  
  481. protected:
  482.   /* additional members */
  483. };
  484.  
  485. /* Implementation file */
  486. NS_IMPL_ISUPPORTS1(nsSupportsPRBool, nsISupportsPRBool)
  487.  
  488. nsSupportsPRBool::nsSupportsPRBool()
  489. {
  490.   /* member initializers and constructor code */
  491. }
  492.  
  493. nsSupportsPRBool::~nsSupportsPRBool()
  494. {
  495.   /* destructor code */
  496. }
  497.  
  498. /* attribute PRBool data; */
  499. NS_IMETHODIMP nsSupportsPRBool::GetData(PRBool *aData)
  500. {
  501.     return NS_ERROR_NOT_IMPLEMENTED;
  502. }
  503. NS_IMETHODIMP nsSupportsPRBool::SetData(PRBool aData)
  504. {
  505.     return NS_ERROR_NOT_IMPLEMENTED;
  506. }
  507.  
  508. /* string toString (); */
  509. NS_IMETHODIMP nsSupportsPRBool::ToString(char **_retval)
  510. {
  511.     return NS_ERROR_NOT_IMPLEMENTED;
  512. }
  513.  
  514. /* End of implementation class template. */
  515. #endif
  516.  
  517.  
  518. /* starting interface:    nsISupportsPRUint8 */
  519. #define NS_ISUPPORTSPRUINT8_IID_STR "dec2e4e0-4a1c-11d3-9890-006008962422"
  520.  
  521. #define NS_ISUPPORTSPRUINT8_IID \
  522.   {0xdec2e4e0, 0x4a1c, 0x11d3, \
  523.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  524.  
  525. /**
  526.  * Scriptable storage for 8-bit integers
  527.  * 
  528.  * @status FROZEN
  529.  */
  530. class NS_NO_VTABLE nsISupportsPRUint8 : public nsISupportsPrimitive {
  531.  public: 
  532.  
  533.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRUINT8_IID)
  534.  
  535.   /* attribute PRUint8 data; */
  536.   NS_IMETHOD GetData(PRUint8 *aData) = 0;
  537.   NS_IMETHOD SetData(PRUint8 aData) = 0;
  538.  
  539.   /* string toString (); */
  540.   NS_IMETHOD ToString(char **_retval) = 0;
  541.  
  542. };
  543.  
  544. /* Use this macro when declaring classes that implement this interface. */
  545. #define NS_DECL_NSISUPPORTSPRUINT8 \
  546.   NS_IMETHOD GetData(PRUint8 *aData); \
  547.   NS_IMETHOD SetData(PRUint8 aData); \
  548.   NS_IMETHOD ToString(char **_retval); 
  549.  
  550. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  551. #define NS_FORWARD_NSISUPPORTSPRUINT8(_to) \
  552.   NS_IMETHOD GetData(PRUint8 *aData) { return _to GetData(aData); } \
  553.   NS_IMETHOD SetData(PRUint8 aData) { return _to SetData(aData); } \
  554.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  555.  
  556. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  557. #define NS_FORWARD_SAFE_NSISUPPORTSPRUINT8(_to) \
  558.   NS_IMETHOD GetData(PRUint8 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  559.   NS_IMETHOD SetData(PRUint8 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  560.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  561.  
  562. #if 0
  563. /* Use the code below as a template for the implementation class for this interface. */
  564.  
  565. /* Header file */
  566. class nsSupportsPRUint8 : public nsISupportsPRUint8
  567. {
  568. public:
  569.   NS_DECL_ISUPPORTS
  570.   NS_DECL_NSISUPPORTSPRUINT8
  571.  
  572.   nsSupportsPRUint8();
  573.  
  574. private:
  575.   ~nsSupportsPRUint8();
  576.  
  577. protected:
  578.   /* additional members */
  579. };
  580.  
  581. /* Implementation file */
  582. NS_IMPL_ISUPPORTS1(nsSupportsPRUint8, nsISupportsPRUint8)
  583.  
  584. nsSupportsPRUint8::nsSupportsPRUint8()
  585. {
  586.   /* member initializers and constructor code */
  587. }
  588.  
  589. nsSupportsPRUint8::~nsSupportsPRUint8()
  590. {
  591.   /* destructor code */
  592. }
  593.  
  594. /* attribute PRUint8 data; */
  595. NS_IMETHODIMP nsSupportsPRUint8::GetData(PRUint8 *aData)
  596. {
  597.     return NS_ERROR_NOT_IMPLEMENTED;
  598. }
  599. NS_IMETHODIMP nsSupportsPRUint8::SetData(PRUint8 aData)
  600. {
  601.     return NS_ERROR_NOT_IMPLEMENTED;
  602. }
  603.  
  604. /* string toString (); */
  605. NS_IMETHODIMP nsSupportsPRUint8::ToString(char **_retval)
  606. {
  607.     return NS_ERROR_NOT_IMPLEMENTED;
  608. }
  609.  
  610. /* End of implementation class template. */
  611. #endif
  612.  
  613.  
  614. /* starting interface:    nsISupportsPRUint16 */
  615. #define NS_ISUPPORTSPRUINT16_IID_STR "dfacb090-4a1c-11d3-9890-006008962422"
  616.  
  617. #define NS_ISUPPORTSPRUINT16_IID \
  618.   {0xdfacb090, 0x4a1c, 0x11d3, \
  619.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  620.  
  621. /**
  622.  * Scriptable storage for unsigned 16-bit integers
  623.  * 
  624.  * @status FROZEN
  625.  */
  626. class NS_NO_VTABLE nsISupportsPRUint16 : public nsISupportsPrimitive {
  627.  public: 
  628.  
  629.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRUINT16_IID)
  630.  
  631.   /* attribute PRUint16 data; */
  632.   NS_IMETHOD GetData(PRUint16 *aData) = 0;
  633.   NS_IMETHOD SetData(PRUint16 aData) = 0;
  634.  
  635.   /* string toString (); */
  636.   NS_IMETHOD ToString(char **_retval) = 0;
  637.  
  638. };
  639.  
  640. /* Use this macro when declaring classes that implement this interface. */
  641. #define NS_DECL_NSISUPPORTSPRUINT16 \
  642.   NS_IMETHOD GetData(PRUint16 *aData); \
  643.   NS_IMETHOD SetData(PRUint16 aData); \
  644.   NS_IMETHOD ToString(char **_retval); 
  645.  
  646. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  647. #define NS_FORWARD_NSISUPPORTSPRUINT16(_to) \
  648.   NS_IMETHOD GetData(PRUint16 *aData) { return _to GetData(aData); } \
  649.   NS_IMETHOD SetData(PRUint16 aData) { return _to SetData(aData); } \
  650.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  651.  
  652. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  653. #define NS_FORWARD_SAFE_NSISUPPORTSPRUINT16(_to) \
  654.   NS_IMETHOD GetData(PRUint16 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  655.   NS_IMETHOD SetData(PRUint16 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  656.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  657.  
  658. #if 0
  659. /* Use the code below as a template for the implementation class for this interface. */
  660.  
  661. /* Header file */
  662. class nsSupportsPRUint16 : public nsISupportsPRUint16
  663. {
  664. public:
  665.   NS_DECL_ISUPPORTS
  666.   NS_DECL_NSISUPPORTSPRUINT16
  667.  
  668.   nsSupportsPRUint16();
  669.  
  670. private:
  671.   ~nsSupportsPRUint16();
  672.  
  673. protected:
  674.   /* additional members */
  675. };
  676.  
  677. /* Implementation file */
  678. NS_IMPL_ISUPPORTS1(nsSupportsPRUint16, nsISupportsPRUint16)
  679.  
  680. nsSupportsPRUint16::nsSupportsPRUint16()
  681. {
  682.   /* member initializers and constructor code */
  683. }
  684.  
  685. nsSupportsPRUint16::~nsSupportsPRUint16()
  686. {
  687.   /* destructor code */
  688. }
  689.  
  690. /* attribute PRUint16 data; */
  691. NS_IMETHODIMP nsSupportsPRUint16::GetData(PRUint16 *aData)
  692. {
  693.     return NS_ERROR_NOT_IMPLEMENTED;
  694. }
  695. NS_IMETHODIMP nsSupportsPRUint16::SetData(PRUint16 aData)
  696. {
  697.     return NS_ERROR_NOT_IMPLEMENTED;
  698. }
  699.  
  700. /* string toString (); */
  701. NS_IMETHODIMP nsSupportsPRUint16::ToString(char **_retval)
  702. {
  703.     return NS_ERROR_NOT_IMPLEMENTED;
  704. }
  705.  
  706. /* End of implementation class template. */
  707. #endif
  708.  
  709.  
  710. /* starting interface:    nsISupportsPRUint32 */
  711. #define NS_ISUPPORTSPRUINT32_IID_STR "e01dc470-4a1c-11d3-9890-006008962422"
  712.  
  713. #define NS_ISUPPORTSPRUINT32_IID \
  714.   {0xe01dc470, 0x4a1c, 0x11d3, \
  715.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  716.  
  717. /**
  718.  * Scriptable storage for unsigned 32-bit integers
  719.  * 
  720.  * @status FROZEN
  721.  */
  722. class NS_NO_VTABLE nsISupportsPRUint32 : public nsISupportsPrimitive {
  723.  public: 
  724.  
  725.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRUINT32_IID)
  726.  
  727.   /* attribute PRUint32 data; */
  728.   NS_IMETHOD GetData(PRUint32 *aData) = 0;
  729.   NS_IMETHOD SetData(PRUint32 aData) = 0;
  730.  
  731.   /* string toString (); */
  732.   NS_IMETHOD ToString(char **_retval) = 0;
  733.  
  734. };
  735.  
  736. /* Use this macro when declaring classes that implement this interface. */
  737. #define NS_DECL_NSISUPPORTSPRUINT32 \
  738.   NS_IMETHOD GetData(PRUint32 *aData); \
  739.   NS_IMETHOD SetData(PRUint32 aData); \
  740.   NS_IMETHOD ToString(char **_retval); 
  741.  
  742. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  743. #define NS_FORWARD_NSISUPPORTSPRUINT32(_to) \
  744.   NS_IMETHOD GetData(PRUint32 *aData) { return _to GetData(aData); } \
  745.   NS_IMETHOD SetData(PRUint32 aData) { return _to SetData(aData); } \
  746.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  747.  
  748. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  749. #define NS_FORWARD_SAFE_NSISUPPORTSPRUINT32(_to) \
  750.   NS_IMETHOD GetData(PRUint32 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  751.   NS_IMETHOD SetData(PRUint32 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  752.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  753.  
  754. #if 0
  755. /* Use the code below as a template for the implementation class for this interface. */
  756.  
  757. /* Header file */
  758. class nsSupportsPRUint32 : public nsISupportsPRUint32
  759. {
  760. public:
  761.   NS_DECL_ISUPPORTS
  762.   NS_DECL_NSISUPPORTSPRUINT32
  763.  
  764.   nsSupportsPRUint32();
  765.  
  766. private:
  767.   ~nsSupportsPRUint32();
  768.  
  769. protected:
  770.   /* additional members */
  771. };
  772.  
  773. /* Implementation file */
  774. NS_IMPL_ISUPPORTS1(nsSupportsPRUint32, nsISupportsPRUint32)
  775.  
  776. nsSupportsPRUint32::nsSupportsPRUint32()
  777. {
  778.   /* member initializers and constructor code */
  779. }
  780.  
  781. nsSupportsPRUint32::~nsSupportsPRUint32()
  782. {
  783.   /* destructor code */
  784. }
  785.  
  786. /* attribute PRUint32 data; */
  787. NS_IMETHODIMP nsSupportsPRUint32::GetData(PRUint32 *aData)
  788. {
  789.     return NS_ERROR_NOT_IMPLEMENTED;
  790. }
  791. NS_IMETHODIMP nsSupportsPRUint32::SetData(PRUint32 aData)
  792. {
  793.     return NS_ERROR_NOT_IMPLEMENTED;
  794. }
  795.  
  796. /* string toString (); */
  797. NS_IMETHODIMP nsSupportsPRUint32::ToString(char **_retval)
  798. {
  799.     return NS_ERROR_NOT_IMPLEMENTED;
  800. }
  801.  
  802. /* End of implementation class template. */
  803. #endif
  804.  
  805.  
  806. /* starting interface:    nsISupportsPRUint64 */
  807. #define NS_ISUPPORTSPRUINT64_IID_STR "e13567c0-4a1c-11d3-9890-006008962422"
  808.  
  809. #define NS_ISUPPORTSPRUINT64_IID \
  810.   {0xe13567c0, 0x4a1c, 0x11d3, \
  811.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  812.  
  813. /**
  814.  * Scriptable storage for 64-bit integers
  815.  * 
  816.  * @status FROZEN
  817.  */
  818. class NS_NO_VTABLE nsISupportsPRUint64 : public nsISupportsPrimitive {
  819.  public: 
  820.  
  821.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRUINT64_IID)
  822.  
  823.   /* attribute PRUint64 data; */
  824.   NS_IMETHOD GetData(PRUint64 *aData) = 0;
  825.   NS_IMETHOD SetData(PRUint64 aData) = 0;
  826.  
  827.   /* string toString (); */
  828.   NS_IMETHOD ToString(char **_retval) = 0;
  829.  
  830. };
  831.  
  832. /* Use this macro when declaring classes that implement this interface. */
  833. #define NS_DECL_NSISUPPORTSPRUINT64 \
  834.   NS_IMETHOD GetData(PRUint64 *aData); \
  835.   NS_IMETHOD SetData(PRUint64 aData); \
  836.   NS_IMETHOD ToString(char **_retval); 
  837.  
  838. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  839. #define NS_FORWARD_NSISUPPORTSPRUINT64(_to) \
  840.   NS_IMETHOD GetData(PRUint64 *aData) { return _to GetData(aData); } \
  841.   NS_IMETHOD SetData(PRUint64 aData) { return _to SetData(aData); } \
  842.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  843.  
  844. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  845. #define NS_FORWARD_SAFE_NSISUPPORTSPRUINT64(_to) \
  846.   NS_IMETHOD GetData(PRUint64 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  847.   NS_IMETHOD SetData(PRUint64 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  848.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  849.  
  850. #if 0
  851. /* Use the code below as a template for the implementation class for this interface. */
  852.  
  853. /* Header file */
  854. class nsSupportsPRUint64 : public nsISupportsPRUint64
  855. {
  856. public:
  857.   NS_DECL_ISUPPORTS
  858.   NS_DECL_NSISUPPORTSPRUINT64
  859.  
  860.   nsSupportsPRUint64();
  861.  
  862. private:
  863.   ~nsSupportsPRUint64();
  864.  
  865. protected:
  866.   /* additional members */
  867. };
  868.  
  869. /* Implementation file */
  870. NS_IMPL_ISUPPORTS1(nsSupportsPRUint64, nsISupportsPRUint64)
  871.  
  872. nsSupportsPRUint64::nsSupportsPRUint64()
  873. {
  874.   /* member initializers and constructor code */
  875. }
  876.  
  877. nsSupportsPRUint64::~nsSupportsPRUint64()
  878. {
  879.   /* destructor code */
  880. }
  881.  
  882. /* attribute PRUint64 data; */
  883. NS_IMETHODIMP nsSupportsPRUint64::GetData(PRUint64 *aData)
  884. {
  885.     return NS_ERROR_NOT_IMPLEMENTED;
  886. }
  887. NS_IMETHODIMP nsSupportsPRUint64::SetData(PRUint64 aData)
  888. {
  889.     return NS_ERROR_NOT_IMPLEMENTED;
  890. }
  891.  
  892. /* string toString (); */
  893. NS_IMETHODIMP nsSupportsPRUint64::ToString(char **_retval)
  894. {
  895.     return NS_ERROR_NOT_IMPLEMENTED;
  896. }
  897.  
  898. /* End of implementation class template. */
  899. #endif
  900.  
  901.  
  902. /* starting interface:    nsISupportsPRTime */
  903. #define NS_ISUPPORTSPRTIME_IID_STR "e2563630-4a1c-11d3-9890-006008962422"
  904.  
  905. #define NS_ISUPPORTSPRTIME_IID \
  906.   {0xe2563630, 0x4a1c, 0x11d3, \
  907.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  908.  
  909. /**
  910.  * Scriptable storage for NSPR date/time values
  911.  * 
  912.  * @status FROZEN
  913.  */
  914. class NS_NO_VTABLE nsISupportsPRTime : public nsISupportsPrimitive {
  915.  public: 
  916.  
  917.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRTIME_IID)
  918.  
  919.   /* attribute PRTime data; */
  920.   NS_IMETHOD GetData(PRTime *aData) = 0;
  921.   NS_IMETHOD SetData(PRTime aData) = 0;
  922.  
  923.   /* string toString (); */
  924.   NS_IMETHOD ToString(char **_retval) = 0;
  925.  
  926. };
  927.  
  928. /* Use this macro when declaring classes that implement this interface. */
  929. #define NS_DECL_NSISUPPORTSPRTIME \
  930.   NS_IMETHOD GetData(PRTime *aData); \
  931.   NS_IMETHOD SetData(PRTime aData); \
  932.   NS_IMETHOD ToString(char **_retval); 
  933.  
  934. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  935. #define NS_FORWARD_NSISUPPORTSPRTIME(_to) \
  936.   NS_IMETHOD GetData(PRTime *aData) { return _to GetData(aData); } \
  937.   NS_IMETHOD SetData(PRTime aData) { return _to SetData(aData); } \
  938.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  939.  
  940. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  941. #define NS_FORWARD_SAFE_NSISUPPORTSPRTIME(_to) \
  942.   NS_IMETHOD GetData(PRTime *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  943.   NS_IMETHOD SetData(PRTime aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  944.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  945.  
  946. #if 0
  947. /* Use the code below as a template for the implementation class for this interface. */
  948.  
  949. /* Header file */
  950. class nsSupportsPRTime : public nsISupportsPRTime
  951. {
  952. public:
  953.   NS_DECL_ISUPPORTS
  954.   NS_DECL_NSISUPPORTSPRTIME
  955.  
  956.   nsSupportsPRTime();
  957.  
  958. private:
  959.   ~nsSupportsPRTime();
  960.  
  961. protected:
  962.   /* additional members */
  963. };
  964.  
  965. /* Implementation file */
  966. NS_IMPL_ISUPPORTS1(nsSupportsPRTime, nsISupportsPRTime)
  967.  
  968. nsSupportsPRTime::nsSupportsPRTime()
  969. {
  970.   /* member initializers and constructor code */
  971. }
  972.  
  973. nsSupportsPRTime::~nsSupportsPRTime()
  974. {
  975.   /* destructor code */
  976. }
  977.  
  978. /* attribute PRTime data; */
  979. NS_IMETHODIMP nsSupportsPRTime::GetData(PRTime *aData)
  980. {
  981.     return NS_ERROR_NOT_IMPLEMENTED;
  982. }
  983. NS_IMETHODIMP nsSupportsPRTime::SetData(PRTime aData)
  984. {
  985.     return NS_ERROR_NOT_IMPLEMENTED;
  986. }
  987.  
  988. /* string toString (); */
  989. NS_IMETHODIMP nsSupportsPRTime::ToString(char **_retval)
  990. {
  991.     return NS_ERROR_NOT_IMPLEMENTED;
  992. }
  993.  
  994. /* End of implementation class template. */
  995. #endif
  996.  
  997.  
  998. /* starting interface:    nsISupportsChar */
  999. #define NS_ISUPPORTSCHAR_IID_STR "e2b05e40-4a1c-11d3-9890-006008962422"
  1000.  
  1001. #define NS_ISUPPORTSCHAR_IID \
  1002.   {0xe2b05e40, 0x4a1c, 0x11d3, \
  1003.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  1004.  
  1005. /**
  1006.  * Scriptable storage for single character values
  1007.  * (often used to store an ASCII character)
  1008.  * 
  1009.  * @status FROZEN
  1010.  */
  1011. class NS_NO_VTABLE nsISupportsChar : public nsISupportsPrimitive {
  1012.  public: 
  1013.  
  1014.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSCHAR_IID)
  1015.  
  1016.   /* attribute char data; */
  1017.   NS_IMETHOD GetData(char *aData) = 0;
  1018.   NS_IMETHOD SetData(char aData) = 0;
  1019.  
  1020.   /* string toString (); */
  1021.   NS_IMETHOD ToString(char **_retval) = 0;
  1022.  
  1023. };
  1024.  
  1025. /* Use this macro when declaring classes that implement this interface. */
  1026. #define NS_DECL_NSISUPPORTSCHAR \
  1027.   NS_IMETHOD GetData(char *aData); \
  1028.   NS_IMETHOD SetData(char aData); \
  1029.   NS_IMETHOD ToString(char **_retval); 
  1030.  
  1031. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1032. #define NS_FORWARD_NSISUPPORTSCHAR(_to) \
  1033.   NS_IMETHOD GetData(char *aData) { return _to GetData(aData); } \
  1034.   NS_IMETHOD SetData(char aData) { return _to SetData(aData); } \
  1035.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1036.  
  1037. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1038. #define NS_FORWARD_SAFE_NSISUPPORTSCHAR(_to) \
  1039.   NS_IMETHOD GetData(char *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1040.   NS_IMETHOD SetData(char aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1041.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1042.  
  1043. #if 0
  1044. /* Use the code below as a template for the implementation class for this interface. */
  1045.  
  1046. /* Header file */
  1047. class nsSupportsChar : public nsISupportsChar
  1048. {
  1049. public:
  1050.   NS_DECL_ISUPPORTS
  1051.   NS_DECL_NSISUPPORTSCHAR
  1052.  
  1053.   nsSupportsChar();
  1054.  
  1055. private:
  1056.   ~nsSupportsChar();
  1057.  
  1058. protected:
  1059.   /* additional members */
  1060. };
  1061.  
  1062. /* Implementation file */
  1063. NS_IMPL_ISUPPORTS1(nsSupportsChar, nsISupportsChar)
  1064.  
  1065. nsSupportsChar::nsSupportsChar()
  1066. {
  1067.   /* member initializers and constructor code */
  1068. }
  1069.  
  1070. nsSupportsChar::~nsSupportsChar()
  1071. {
  1072.   /* destructor code */
  1073. }
  1074.  
  1075. /* attribute char data; */
  1076. NS_IMETHODIMP nsSupportsChar::GetData(char *aData)
  1077. {
  1078.     return NS_ERROR_NOT_IMPLEMENTED;
  1079. }
  1080. NS_IMETHODIMP nsSupportsChar::SetData(char aData)
  1081. {
  1082.     return NS_ERROR_NOT_IMPLEMENTED;
  1083. }
  1084.  
  1085. /* string toString (); */
  1086. NS_IMETHODIMP nsSupportsChar::ToString(char **_retval)
  1087. {
  1088.     return NS_ERROR_NOT_IMPLEMENTED;
  1089. }
  1090.  
  1091. /* End of implementation class template. */
  1092. #endif
  1093.  
  1094.  
  1095. /* starting interface:    nsISupportsPRInt16 */
  1096. #define NS_ISUPPORTSPRINT16_IID_STR "e30d94b0-4a1c-11d3-9890-006008962422"
  1097.  
  1098. #define NS_ISUPPORTSPRINT16_IID \
  1099.   {0xe30d94b0, 0x4a1c, 0x11d3, \
  1100.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  1101.  
  1102. /**
  1103.  * Scriptable storage for 16-bit integers
  1104.  * 
  1105.  * @status FROZEN
  1106.  */
  1107. class NS_NO_VTABLE nsISupportsPRInt16 : public nsISupportsPrimitive {
  1108.  public: 
  1109.  
  1110.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRINT16_IID)
  1111.  
  1112.   /* attribute PRInt16 data; */
  1113.   NS_IMETHOD GetData(PRInt16 *aData) = 0;
  1114.   NS_IMETHOD SetData(PRInt16 aData) = 0;
  1115.  
  1116.   /* string toString (); */
  1117.   NS_IMETHOD ToString(char **_retval) = 0;
  1118.  
  1119. };
  1120.  
  1121. /* Use this macro when declaring classes that implement this interface. */
  1122. #define NS_DECL_NSISUPPORTSPRINT16 \
  1123.   NS_IMETHOD GetData(PRInt16 *aData); \
  1124.   NS_IMETHOD SetData(PRInt16 aData); \
  1125.   NS_IMETHOD ToString(char **_retval); 
  1126.  
  1127. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1128. #define NS_FORWARD_NSISUPPORTSPRINT16(_to) \
  1129.   NS_IMETHOD GetData(PRInt16 *aData) { return _to GetData(aData); } \
  1130.   NS_IMETHOD SetData(PRInt16 aData) { return _to SetData(aData); } \
  1131.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1132.  
  1133. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1134. #define NS_FORWARD_SAFE_NSISUPPORTSPRINT16(_to) \
  1135.   NS_IMETHOD GetData(PRInt16 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1136.   NS_IMETHOD SetData(PRInt16 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1137.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1138.  
  1139. #if 0
  1140. /* Use the code below as a template for the implementation class for this interface. */
  1141.  
  1142. /* Header file */
  1143. class nsSupportsPRInt16 : public nsISupportsPRInt16
  1144. {
  1145. public:
  1146.   NS_DECL_ISUPPORTS
  1147.   NS_DECL_NSISUPPORTSPRINT16
  1148.  
  1149.   nsSupportsPRInt16();
  1150.  
  1151. private:
  1152.   ~nsSupportsPRInt16();
  1153.  
  1154. protected:
  1155.   /* additional members */
  1156. };
  1157.  
  1158. /* Implementation file */
  1159. NS_IMPL_ISUPPORTS1(nsSupportsPRInt16, nsISupportsPRInt16)
  1160.  
  1161. nsSupportsPRInt16::nsSupportsPRInt16()
  1162. {
  1163.   /* member initializers and constructor code */
  1164. }
  1165.  
  1166. nsSupportsPRInt16::~nsSupportsPRInt16()
  1167. {
  1168.   /* destructor code */
  1169. }
  1170.  
  1171. /* attribute PRInt16 data; */
  1172. NS_IMETHODIMP nsSupportsPRInt16::GetData(PRInt16 *aData)
  1173. {
  1174.     return NS_ERROR_NOT_IMPLEMENTED;
  1175. }
  1176. NS_IMETHODIMP nsSupportsPRInt16::SetData(PRInt16 aData)
  1177. {
  1178.     return NS_ERROR_NOT_IMPLEMENTED;
  1179. }
  1180.  
  1181. /* string toString (); */
  1182. NS_IMETHODIMP nsSupportsPRInt16::ToString(char **_retval)
  1183. {
  1184.     return NS_ERROR_NOT_IMPLEMENTED;
  1185. }
  1186.  
  1187. /* End of implementation class template. */
  1188. #endif
  1189.  
  1190.  
  1191. /* starting interface:    nsISupportsPRInt32 */
  1192. #define NS_ISUPPORTSPRINT32_IID_STR "e36c5250-4a1c-11d3-9890-006008962422"
  1193.  
  1194. #define NS_ISUPPORTSPRINT32_IID \
  1195.   {0xe36c5250, 0x4a1c, 0x11d3, \
  1196.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  1197.  
  1198. /**
  1199.  * Scriptable storage for 32-bit integers
  1200.  * 
  1201.  * @status FROZEN
  1202.  */
  1203. class NS_NO_VTABLE nsISupportsPRInt32 : public nsISupportsPrimitive {
  1204.  public: 
  1205.  
  1206.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRINT32_IID)
  1207.  
  1208.   /* attribute PRInt32 data; */
  1209.   NS_IMETHOD GetData(PRInt32 *aData) = 0;
  1210.   NS_IMETHOD SetData(PRInt32 aData) = 0;
  1211.  
  1212.   /* string toString (); */
  1213.   NS_IMETHOD ToString(char **_retval) = 0;
  1214.  
  1215. };
  1216.  
  1217. /* Use this macro when declaring classes that implement this interface. */
  1218. #define NS_DECL_NSISUPPORTSPRINT32 \
  1219.   NS_IMETHOD GetData(PRInt32 *aData); \
  1220.   NS_IMETHOD SetData(PRInt32 aData); \
  1221.   NS_IMETHOD ToString(char **_retval); 
  1222.  
  1223. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1224. #define NS_FORWARD_NSISUPPORTSPRINT32(_to) \
  1225.   NS_IMETHOD GetData(PRInt32 *aData) { return _to GetData(aData); } \
  1226.   NS_IMETHOD SetData(PRInt32 aData) { return _to SetData(aData); } \
  1227.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1228.  
  1229. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1230. #define NS_FORWARD_SAFE_NSISUPPORTSPRINT32(_to) \
  1231.   NS_IMETHOD GetData(PRInt32 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1232.   NS_IMETHOD SetData(PRInt32 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1233.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1234.  
  1235. #if 0
  1236. /* Use the code below as a template for the implementation class for this interface. */
  1237.  
  1238. /* Header file */
  1239. class nsSupportsPRInt32 : public nsISupportsPRInt32
  1240. {
  1241. public:
  1242.   NS_DECL_ISUPPORTS
  1243.   NS_DECL_NSISUPPORTSPRINT32
  1244.  
  1245.   nsSupportsPRInt32();
  1246.  
  1247. private:
  1248.   ~nsSupportsPRInt32();
  1249.  
  1250. protected:
  1251.   /* additional members */
  1252. };
  1253.  
  1254. /* Implementation file */
  1255. NS_IMPL_ISUPPORTS1(nsSupportsPRInt32, nsISupportsPRInt32)
  1256.  
  1257. nsSupportsPRInt32::nsSupportsPRInt32()
  1258. {
  1259.   /* member initializers and constructor code */
  1260. }
  1261.  
  1262. nsSupportsPRInt32::~nsSupportsPRInt32()
  1263. {
  1264.   /* destructor code */
  1265. }
  1266.  
  1267. /* attribute PRInt32 data; */
  1268. NS_IMETHODIMP nsSupportsPRInt32::GetData(PRInt32 *aData)
  1269. {
  1270.     return NS_ERROR_NOT_IMPLEMENTED;
  1271. }
  1272. NS_IMETHODIMP nsSupportsPRInt32::SetData(PRInt32 aData)
  1273. {
  1274.     return NS_ERROR_NOT_IMPLEMENTED;
  1275. }
  1276.  
  1277. /* string toString (); */
  1278. NS_IMETHODIMP nsSupportsPRInt32::ToString(char **_retval)
  1279. {
  1280.     return NS_ERROR_NOT_IMPLEMENTED;
  1281. }
  1282.  
  1283. /* End of implementation class template. */
  1284. #endif
  1285.  
  1286.  
  1287. /* starting interface:    nsISupportsPRInt64 */
  1288. #define NS_ISUPPORTSPRINT64_IID_STR "e3cb0ff0-4a1c-11d3-9890-006008962422"
  1289.  
  1290. #define NS_ISUPPORTSPRINT64_IID \
  1291.   {0xe3cb0ff0, 0x4a1c, 0x11d3, \
  1292.     { 0x98, 0x90, 0x00, 0x60, 0x08, 0x96, 0x24, 0x22 }}
  1293.  
  1294. /**
  1295.  * Scriptable storage for 64-bit integers
  1296.  * 
  1297.  * @status FROZEN
  1298.  */
  1299. class NS_NO_VTABLE nsISupportsPRInt64 : public nsISupportsPrimitive {
  1300.  public: 
  1301.  
  1302.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSPRINT64_IID)
  1303.  
  1304.   /* attribute PRInt64 data; */
  1305.   NS_IMETHOD GetData(PRInt64 *aData) = 0;
  1306.   NS_IMETHOD SetData(PRInt64 aData) = 0;
  1307.  
  1308.   /* string toString (); */
  1309.   NS_IMETHOD ToString(char **_retval) = 0;
  1310.  
  1311. };
  1312.  
  1313. /* Use this macro when declaring classes that implement this interface. */
  1314. #define NS_DECL_NSISUPPORTSPRINT64 \
  1315.   NS_IMETHOD GetData(PRInt64 *aData); \
  1316.   NS_IMETHOD SetData(PRInt64 aData); \
  1317.   NS_IMETHOD ToString(char **_retval); 
  1318.  
  1319. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1320. #define NS_FORWARD_NSISUPPORTSPRINT64(_to) \
  1321.   NS_IMETHOD GetData(PRInt64 *aData) { return _to GetData(aData); } \
  1322.   NS_IMETHOD SetData(PRInt64 aData) { return _to SetData(aData); } \
  1323.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1324.  
  1325. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1326. #define NS_FORWARD_SAFE_NSISUPPORTSPRINT64(_to) \
  1327.   NS_IMETHOD GetData(PRInt64 *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1328.   NS_IMETHOD SetData(PRInt64 aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1329.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1330.  
  1331. #if 0
  1332. /* Use the code below as a template for the implementation class for this interface. */
  1333.  
  1334. /* Header file */
  1335. class nsSupportsPRInt64 : public nsISupportsPRInt64
  1336. {
  1337. public:
  1338.   NS_DECL_ISUPPORTS
  1339.   NS_DECL_NSISUPPORTSPRINT64
  1340.  
  1341.   nsSupportsPRInt64();
  1342.  
  1343. private:
  1344.   ~nsSupportsPRInt64();
  1345.  
  1346. protected:
  1347.   /* additional members */
  1348. };
  1349.  
  1350. /* Implementation file */
  1351. NS_IMPL_ISUPPORTS1(nsSupportsPRInt64, nsISupportsPRInt64)
  1352.  
  1353. nsSupportsPRInt64::nsSupportsPRInt64()
  1354. {
  1355.   /* member initializers and constructor code */
  1356. }
  1357.  
  1358. nsSupportsPRInt64::~nsSupportsPRInt64()
  1359. {
  1360.   /* destructor code */
  1361. }
  1362.  
  1363. /* attribute PRInt64 data; */
  1364. NS_IMETHODIMP nsSupportsPRInt64::GetData(PRInt64 *aData)
  1365. {
  1366.     return NS_ERROR_NOT_IMPLEMENTED;
  1367. }
  1368. NS_IMETHODIMP nsSupportsPRInt64::SetData(PRInt64 aData)
  1369. {
  1370.     return NS_ERROR_NOT_IMPLEMENTED;
  1371. }
  1372.  
  1373. /* string toString (); */
  1374. NS_IMETHODIMP nsSupportsPRInt64::ToString(char **_retval)
  1375. {
  1376.     return NS_ERROR_NOT_IMPLEMENTED;
  1377. }
  1378.  
  1379. /* End of implementation class template. */
  1380. #endif
  1381.  
  1382.  
  1383. /* starting interface:    nsISupportsFloat */
  1384. #define NS_ISUPPORTSFLOAT_IID_STR "abeaa390-4ac0-11d3-baea-00805f8a5dd7"
  1385.  
  1386. #define NS_ISUPPORTSFLOAT_IID \
  1387.   {0xabeaa390, 0x4ac0, 0x11d3, \
  1388.     { 0xba, 0xea, 0x00, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 }}
  1389.  
  1390. /**
  1391.  * Scriptable storage for floating point numbers
  1392.  * 
  1393.  * @status FROZEN
  1394.  */
  1395. class NS_NO_VTABLE nsISupportsFloat : public nsISupportsPrimitive {
  1396.  public: 
  1397.  
  1398.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSFLOAT_IID)
  1399.  
  1400.   /* attribute float data; */
  1401.   NS_IMETHOD GetData(float *aData) = 0;
  1402.   NS_IMETHOD SetData(float aData) = 0;
  1403.  
  1404.   /* string toString (); */
  1405.   NS_IMETHOD ToString(char **_retval) = 0;
  1406.  
  1407. };
  1408.  
  1409. /* Use this macro when declaring classes that implement this interface. */
  1410. #define NS_DECL_NSISUPPORTSFLOAT \
  1411.   NS_IMETHOD GetData(float *aData); \
  1412.   NS_IMETHOD SetData(float aData); \
  1413.   NS_IMETHOD ToString(char **_retval); 
  1414.  
  1415. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1416. #define NS_FORWARD_NSISUPPORTSFLOAT(_to) \
  1417.   NS_IMETHOD GetData(float *aData) { return _to GetData(aData); } \
  1418.   NS_IMETHOD SetData(float aData) { return _to SetData(aData); } \
  1419.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1420.  
  1421. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1422. #define NS_FORWARD_SAFE_NSISUPPORTSFLOAT(_to) \
  1423.   NS_IMETHOD GetData(float *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1424.   NS_IMETHOD SetData(float aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1425.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1426.  
  1427. #if 0
  1428. /* Use the code below as a template for the implementation class for this interface. */
  1429.  
  1430. /* Header file */
  1431. class nsSupportsFloat : public nsISupportsFloat
  1432. {
  1433. public:
  1434.   NS_DECL_ISUPPORTS
  1435.   NS_DECL_NSISUPPORTSFLOAT
  1436.  
  1437.   nsSupportsFloat();
  1438.  
  1439. private:
  1440.   ~nsSupportsFloat();
  1441.  
  1442. protected:
  1443.   /* additional members */
  1444. };
  1445.  
  1446. /* Implementation file */
  1447. NS_IMPL_ISUPPORTS1(nsSupportsFloat, nsISupportsFloat)
  1448.  
  1449. nsSupportsFloat::nsSupportsFloat()
  1450. {
  1451.   /* member initializers and constructor code */
  1452. }
  1453.  
  1454. nsSupportsFloat::~nsSupportsFloat()
  1455. {
  1456.   /* destructor code */
  1457. }
  1458.  
  1459. /* attribute float data; */
  1460. NS_IMETHODIMP nsSupportsFloat::GetData(float *aData)
  1461. {
  1462.     return NS_ERROR_NOT_IMPLEMENTED;
  1463. }
  1464. NS_IMETHODIMP nsSupportsFloat::SetData(float aData)
  1465. {
  1466.     return NS_ERROR_NOT_IMPLEMENTED;
  1467. }
  1468.  
  1469. /* string toString (); */
  1470. NS_IMETHODIMP nsSupportsFloat::ToString(char **_retval)
  1471. {
  1472.     return NS_ERROR_NOT_IMPLEMENTED;
  1473. }
  1474.  
  1475. /* End of implementation class template. */
  1476. #endif
  1477.  
  1478.  
  1479. /* starting interface:    nsISupportsDouble */
  1480. #define NS_ISUPPORTSDOUBLE_IID_STR "b32523a0-4ac0-11d3-baea-00805f8a5dd7"
  1481.  
  1482. #define NS_ISUPPORTSDOUBLE_IID \
  1483.   {0xb32523a0, 0x4ac0, 0x11d3, \
  1484.     { 0xba, 0xea, 0x00, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 }}
  1485.  
  1486. /**
  1487.  * Scriptable storage for doubles
  1488.  * 
  1489.  * @status FROZEN
  1490.  */
  1491. class NS_NO_VTABLE nsISupportsDouble : public nsISupportsPrimitive {
  1492.  public: 
  1493.  
  1494.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSDOUBLE_IID)
  1495.  
  1496.   /* attribute double data; */
  1497.   NS_IMETHOD GetData(double *aData) = 0;
  1498.   NS_IMETHOD SetData(double aData) = 0;
  1499.  
  1500.   /* string toString (); */
  1501.   NS_IMETHOD ToString(char **_retval) = 0;
  1502.  
  1503. };
  1504.  
  1505. /* Use this macro when declaring classes that implement this interface. */
  1506. #define NS_DECL_NSISUPPORTSDOUBLE \
  1507.   NS_IMETHOD GetData(double *aData); \
  1508.   NS_IMETHOD SetData(double aData); \
  1509.   NS_IMETHOD ToString(char **_retval); 
  1510.  
  1511. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1512. #define NS_FORWARD_NSISUPPORTSDOUBLE(_to) \
  1513.   NS_IMETHOD GetData(double *aData) { return _to GetData(aData); } \
  1514.   NS_IMETHOD SetData(double aData) { return _to SetData(aData); } \
  1515.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1516.  
  1517. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1518. #define NS_FORWARD_SAFE_NSISUPPORTSDOUBLE(_to) \
  1519.   NS_IMETHOD GetData(double *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1520.   NS_IMETHOD SetData(double aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1521.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1522.  
  1523. #if 0
  1524. /* Use the code below as a template for the implementation class for this interface. */
  1525.  
  1526. /* Header file */
  1527. class nsSupportsDouble : public nsISupportsDouble
  1528. {
  1529. public:
  1530.   NS_DECL_ISUPPORTS
  1531.   NS_DECL_NSISUPPORTSDOUBLE
  1532.  
  1533.   nsSupportsDouble();
  1534.  
  1535. private:
  1536.   ~nsSupportsDouble();
  1537.  
  1538. protected:
  1539.   /* additional members */
  1540. };
  1541.  
  1542. /* Implementation file */
  1543. NS_IMPL_ISUPPORTS1(nsSupportsDouble, nsISupportsDouble)
  1544.  
  1545. nsSupportsDouble::nsSupportsDouble()
  1546. {
  1547.   /* member initializers and constructor code */
  1548. }
  1549.  
  1550. nsSupportsDouble::~nsSupportsDouble()
  1551. {
  1552.   /* destructor code */
  1553. }
  1554.  
  1555. /* attribute double data; */
  1556. NS_IMETHODIMP nsSupportsDouble::GetData(double *aData)
  1557. {
  1558.     return NS_ERROR_NOT_IMPLEMENTED;
  1559. }
  1560. NS_IMETHODIMP nsSupportsDouble::SetData(double aData)
  1561. {
  1562.     return NS_ERROR_NOT_IMPLEMENTED;
  1563. }
  1564.  
  1565. /* string toString (); */
  1566. NS_IMETHODIMP nsSupportsDouble::ToString(char **_retval)
  1567. {
  1568.     return NS_ERROR_NOT_IMPLEMENTED;
  1569. }
  1570.  
  1571. /* End of implementation class template. */
  1572. #endif
  1573.  
  1574.  
  1575. /* starting interface:    nsISupportsVoid */
  1576. #define NS_ISUPPORTSVOID_IID_STR "464484f0-568d-11d3-baf8-00805f8a5dd7"
  1577.  
  1578. #define NS_ISUPPORTSVOID_IID \
  1579.   {0x464484f0, 0x568d, 0x11d3, \
  1580.     { 0xba, 0xf8, 0x00, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 }}
  1581.  
  1582. /**
  1583.  * Scriptable storage for generic pointers
  1584.  * 
  1585.  * @status FROZEN
  1586.  */
  1587. class NS_NO_VTABLE nsISupportsVoid : public nsISupportsPrimitive {
  1588.  public: 
  1589.  
  1590.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSVOID_IID)
  1591.  
  1592.   /* [noscript] attribute voidPtr data; */
  1593.   NS_IMETHOD GetData(void * *aData) = 0;
  1594.   NS_IMETHOD SetData(void * aData) = 0;
  1595.  
  1596.   /* string toString (); */
  1597.   NS_IMETHOD ToString(char **_retval) = 0;
  1598.  
  1599. };
  1600.  
  1601. /* Use this macro when declaring classes that implement this interface. */
  1602. #define NS_DECL_NSISUPPORTSVOID \
  1603.   NS_IMETHOD GetData(void * *aData); \
  1604.   NS_IMETHOD SetData(void * aData); \
  1605.   NS_IMETHOD ToString(char **_retval); 
  1606.  
  1607. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1608. #define NS_FORWARD_NSISUPPORTSVOID(_to) \
  1609.   NS_IMETHOD GetData(void * *aData) { return _to GetData(aData); } \
  1610.   NS_IMETHOD SetData(void * aData) { return _to SetData(aData); } \
  1611.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1612.  
  1613. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1614. #define NS_FORWARD_SAFE_NSISUPPORTSVOID(_to) \
  1615.   NS_IMETHOD GetData(void * *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1616.   NS_IMETHOD SetData(void * aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1617.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1618.  
  1619. #if 0
  1620. /* Use the code below as a template for the implementation class for this interface. */
  1621.  
  1622. /* Header file */
  1623. class nsSupportsVoid : public nsISupportsVoid
  1624. {
  1625. public:
  1626.   NS_DECL_ISUPPORTS
  1627.   NS_DECL_NSISUPPORTSVOID
  1628.  
  1629.   nsSupportsVoid();
  1630.  
  1631. private:
  1632.   ~nsSupportsVoid();
  1633.  
  1634. protected:
  1635.   /* additional members */
  1636. };
  1637.  
  1638. /* Implementation file */
  1639. NS_IMPL_ISUPPORTS1(nsSupportsVoid, nsISupportsVoid)
  1640.  
  1641. nsSupportsVoid::nsSupportsVoid()
  1642. {
  1643.   /* member initializers and constructor code */
  1644. }
  1645.  
  1646. nsSupportsVoid::~nsSupportsVoid()
  1647. {
  1648.   /* destructor code */
  1649. }
  1650.  
  1651. /* [noscript] attribute voidPtr data; */
  1652. NS_IMETHODIMP nsSupportsVoid::GetData(void * *aData)
  1653. {
  1654.     return NS_ERROR_NOT_IMPLEMENTED;
  1655. }
  1656. NS_IMETHODIMP nsSupportsVoid::SetData(void * aData)
  1657. {
  1658.     return NS_ERROR_NOT_IMPLEMENTED;
  1659. }
  1660.  
  1661. /* string toString (); */
  1662. NS_IMETHODIMP nsSupportsVoid::ToString(char **_retval)
  1663. {
  1664.     return NS_ERROR_NOT_IMPLEMENTED;
  1665. }
  1666.  
  1667. /* End of implementation class template. */
  1668. #endif
  1669.  
  1670.  
  1671. /* starting interface:    nsISupportsInterfacePointer */
  1672. #define NS_ISUPPORTSINTERFACEPOINTER_IID_STR "995ea724-1dd1-11b2-9211-c21bdd3e7ed0"
  1673.  
  1674. #define NS_ISUPPORTSINTERFACEPOINTER_IID \
  1675.   {0x995ea724, 0x1dd1, 0x11b2, \
  1676.     { 0x92, 0x11, 0xc2, 0x1b, 0xdd, 0x3e, 0x7e, 0xd0 }}
  1677.  
  1678. /**
  1679.  * Scriptable storage for other XPCOM objects
  1680.  * 
  1681.  * @status FROZEN
  1682.  */
  1683. class NS_NO_VTABLE nsISupportsInterfacePointer : public nsISupportsPrimitive {
  1684.  public: 
  1685.  
  1686.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISUPPORTSINTERFACEPOINTER_IID)
  1687.  
  1688.   /* attribute nsISupports data; */
  1689.   NS_IMETHOD GetData(nsISupports * *aData) = 0;
  1690.   NS_IMETHOD SetData(nsISupports * aData) = 0;
  1691.  
  1692.   /* attribute nsIDPtr dataIID; */
  1693.   NS_IMETHOD GetDataIID(nsID * *aDataIID) = 0;
  1694.   NS_IMETHOD SetDataIID(const nsID * aDataIID) = 0;
  1695.  
  1696.   /* string toString (); */
  1697.   NS_IMETHOD ToString(char **_retval) = 0;
  1698.  
  1699. };
  1700.  
  1701. /* Use this macro when declaring classes that implement this interface. */
  1702. #define NS_DECL_NSISUPPORTSINTERFACEPOINTER \
  1703.   NS_IMETHOD GetData(nsISupports * *aData); \
  1704.   NS_IMETHOD SetData(nsISupports * aData); \
  1705.   NS_IMETHOD GetDataIID(nsID * *aDataIID); \
  1706.   NS_IMETHOD SetDataIID(const nsID * aDataIID); \
  1707.   NS_IMETHOD ToString(char **_retval); 
  1708.  
  1709. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  1710. #define NS_FORWARD_NSISUPPORTSINTERFACEPOINTER(_to) \
  1711.   NS_IMETHOD GetData(nsISupports * *aData) { return _to GetData(aData); } \
  1712.   NS_IMETHOD SetData(nsISupports * aData) { return _to SetData(aData); } \
  1713.   NS_IMETHOD GetDataIID(nsID * *aDataIID) { return _to GetDataIID(aDataIID); } \
  1714.   NS_IMETHOD SetDataIID(const nsID * aDataIID) { return _to SetDataIID(aDataIID); } \
  1715.   NS_IMETHOD ToString(char **_retval) { return _to ToString(_retval); } 
  1716.  
  1717. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  1718. #define NS_FORWARD_SAFE_NSISUPPORTSINTERFACEPOINTER(_to) \
  1719.   NS_IMETHOD GetData(nsISupports * *aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetData(aData); } \
  1720.   NS_IMETHOD SetData(nsISupports * aData) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetData(aData); } \
  1721.   NS_IMETHOD GetDataIID(nsID * *aDataIID) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDataIID(aDataIID); } \
  1722.   NS_IMETHOD SetDataIID(const nsID * aDataIID) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDataIID(aDataIID); } \
  1723.   NS_IMETHOD ToString(char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 
  1724.  
  1725. #if 0
  1726. /* Use the code below as a template for the implementation class for this interface. */
  1727.  
  1728. /* Header file */
  1729. class nsSupportsInterfacePointer : public nsISupportsInterfacePointer
  1730. {
  1731. public:
  1732.   NS_DECL_ISUPPORTS
  1733.   NS_DECL_NSISUPPORTSINTERFACEPOINTER
  1734.  
  1735.   nsSupportsInterfacePointer();
  1736.  
  1737. private:
  1738.   ~nsSupportsInterfacePointer();
  1739.  
  1740. protected:
  1741.   /* additional members */
  1742. };
  1743.  
  1744. /* Implementation file */
  1745. NS_IMPL_ISUPPORTS1(nsSupportsInterfacePointer, nsISupportsInterfacePointer)
  1746.  
  1747. nsSupportsInterfacePointer::nsSupportsInterfacePointer()
  1748. {
  1749.   /* member initializers and constructor code */
  1750. }
  1751.  
  1752. nsSupportsInterfacePointer::~nsSupportsInterfacePointer()
  1753. {
  1754.   /* destructor code */
  1755. }
  1756.  
  1757. /* attribute nsISupports data; */
  1758. NS_IMETHODIMP nsSupportsInterfacePointer::GetData(nsISupports * *aData)
  1759. {
  1760.     return NS_ERROR_NOT_IMPLEMENTED;
  1761. }
  1762. NS_IMETHODIMP nsSupportsInterfacePointer::SetData(nsISupports * aData)
  1763. {
  1764.     return NS_ERROR_NOT_IMPLEMENTED;
  1765. }
  1766.  
  1767. /* attribute nsIDPtr dataIID; */
  1768. NS_IMETHODIMP nsSupportsInterfacePointer::GetDataIID(nsID * *aDataIID)
  1769. {
  1770.     return NS_ERROR_NOT_IMPLEMENTED;
  1771. }
  1772. NS_IMETHODIMP nsSupportsInterfacePointer::SetDataIID(const nsID * aDataIID)
  1773. {
  1774.     return NS_ERROR_NOT_IMPLEMENTED;
  1775. }
  1776.  
  1777. /* string toString (); */
  1778. NS_IMETHODIMP nsSupportsInterfacePointer::ToString(char **_retval)
  1779. {
  1780.     return NS_ERROR_NOT_IMPLEMENTED;
  1781. }
  1782.  
  1783. /* End of implementation class template. */
  1784. #endif
  1785.  
  1786.  
  1787. #endif /* __gen_nsISupportsPrimitives_h__ */
  1788.